AWSIM-Autoware Integration
Autoware is a robust open-source software suite designed for autonomous driving. Featuring a modular design that includes perception, localization, planning, and control modules, it offers a comprehensive solution for developing self-driving vehicles. When integrated with the AWSIM simulator, Autoware enables safe testing, validation, and refinement of autonomous driving algorithms across a variety of scenarios. This combination can also be used for the simulation of real-world traffic conditions, thereby increasing the realism of the simulated environment and improving validation accuracy for autonomous vehicle testing.
Run with Autoware
If you would like to know how to run AWSIM with Autoware, we encourage you to read this section.
Features
The combination of Autoware and AWSIM provides the opportunity to check the correctness of the vehicle's behavior in various traffic situations. Here are presented some typical features provided by this combination. Moreover, examples of detecting several bad behaviors are included. Below are some extended features for the Digital Twin branch.
*.pcap Recording to PointCloud2 Publisher
All *.pcap LiDAR recordings can be converted to ROS2 PointCloud2 messages.
Real-Time Object Detection and Tracking using Autoware
Traffic Simulation in AWSIM
Combination Architecture
The combination of AWSIM with Autoware in AUT_DT is possible thanks to the Perception module of Autoware architecture. The component responsible for ensuring connection with these modules from the AWSIM side is DetectionSubscriber
. It has been adapted to the Autoware architecture and provides ROS2 topic-based communication. However, the other essential component is the ROS2 PointCloud2 Publisher
, which provides ROS2-based PointCloud data to Autoware.
The ROS2 PointCloud2 Publisher
component provides the publication of the current LiDAR frame through a script written by Python. It provides real-time information such as: current frame timestamp, current frame pointcloud data.
On the other hand, the Sensing
component is responsible for subscribing to the ROS2 Pointcloud2 topic from Autoware. It subscribes to the current stream of LiDAR data, whether its recorded data or streaming data.
The processing of the recieved data is done by the Perception
component. This component will detect the current 3D objects in the scene and track them, providing important information about the detected objects such as: ObjectID, Object Class, Object Position relative to the LiDAR coordinate frame, Object Orientation, Object's Twist parameters (Kinematics).
Currently, there are no data pipelines from AWSIM to Autoware.
More about AWSIM
and its original combination architecture is described in this link
Sequence diagram
Below is a simplified sequential diagram of information exchange in connection between ROS2 PointCloud2 Publisher, AWSIM and Autoware. As you can see, the first essential information is the tf2 parameters of the LiDAR coordinate frame (base-link) relative to the map coordinate frame and viewer coordinate frame, which are manually given to Autoware. These parameters are used in the process of automatic position initialization on Autoware side, and play a vital role in the perception module. At the same time, the simulation on AWSIM side is updated.
Next in the diagram is the main information update loop in which:
- During each cycle there is a PointCloud2 data being published from ROS2 PointCloud2 Publisher.
- The PointCloud2 data topic is then collected by a subscriber from the
Sensing
component of Autoware. ThePerception
component will process the LiDAR pointcloud and publish theTracked Objects
data. - The
DetectionSubscriber
from the AWSIM side, subscribes to theTracked Objects
topic and recieves the data. After processing, each detected vehicle will either get spawned or updated based on it's ID.
The order of information exchange presented in the diagram is a simplification. The exchange of information takes place through the publish-subscribe model and each data is sent with a predefined frequency.